package com.dolphin.common.expr.emus;

import lombok.Getter;

/**
 * @author shida
 */
@Getter
public enum DataTimeFormatEnum {
    TIMESTAMPM(Integer.valueOf(0), "时间戳(毫秒)", "sss", true),
    TIMESTAMPS(Integer.valueOf(1), "时间戳(秒)", "ss", true),
    DATATIMEFORMAT1(Integer.valueOf(2),"yyyy年MM月dd日", "yyyy年MM月dd日", true),
    DATATIMEFORMAT2(Integer.valueOf(3),"yyyy年MM月", "yyyy年MM月", true),
    DATATIMEFORMAT3(Integer.valueOf(4),"yyyy年MM月dd日HH时mm分ss秒", "yyyy年MM月dd日HH时mm分ss秒", true),
    DATATIMEFORMAT4(Integer.valueOf(5),"yyyy年MM月dd日HH时mm分", "yyyy年MM月dd日HH时mm分", true),
    DATATIMEFORMAT5(Integer.valueOf(6),"yyyy年MM月dd日HH时", "yyyy年MM月dd日HH时", true),
    DATATIMEFORMAT6(Integer.valueOf(7),"yyyy-MM-dd","yyyy-MM-dd",true),
    DATATIMEFORMAT7(Integer.valueOf(8),"yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm:ss", true),
    DATATIMEFORMAT8(Integer.valueOf(9),"yyyy-MM-dd HH:mm", "yyyy-MM-dd HH:mm", true),
    DATATIMEFORMAT9(Integer.valueOf(10),"yyyy-MM-dd HH", "yyyy-MM-dd HH", true),
    DATATIMEFORMAT10(Integer.valueOf(11),"yyyy/MM/dd","yyyy/MM/dd",true),
    DATATIMEFORMAT11(Integer.valueOf(12),"yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm:ss", true),
    DATATIMEFORMAT12(Integer.valueOf(13),"yyyy/MM/dd HH:mm", "yyyy/MM/dd HH:mm", true),
    DATATIMEFORMAT13(Integer.valueOf(14),"yyyy/MM/dd HH", "yyyy/MM/dd HH", true),
    DATATIMEFORMAT14(Integer.valueOf(15),"yyyyMMdd", "yyyyMMdd", true),
    DATATIMEFORMAT15(Integer.valueOf(16),"yyyyMMddHHmmss", "yyyyMMddHHmmss", true),
    DATATIMEFORMAT16(Integer.valueOf(17),"yyyyMMddHHmm", "yyyyMMddHHmm", true),
    DATATIMEFORMAT17(Integer.valueOf(18),"yyyyMMddHH", "yyyyMMddHH", true),

    YEARFORMAT(Integer.valueOf(19), "年", "yyyy", true),
QUARTERFORMAT(Integer.valueOf(20), "季度", "quarter", false),
    MONTHFORMAT(Integer.valueOf(21), "月", "MM", true),
    DAYFORMAT(Integer.valueOf(22), "日", "dd", true),
    HOURFORMAT(Integer.valueOf(23), "时", "HH", true),
    MINUTEFORMAT(Integer.valueOf(24), "分", "mm", true),
    SECONDFORMAT(Integer.valueOf(25), "秒", "ss", true),
    WEEKOFMONTHFORMAT(Integer.valueOf(26), "当月的第几个星期", "weekOfMonth", false),
    WEEKOFYEARFORMAT(Integer.valueOf(27), "当年的第几个星期", "weekOfYear", false),
    DAYOFYEARFORMAT(Integer.valueOf(28), "当年的第几天", "dayOfYear", false),
    ;

    private Integer id;
    private String description;
    private String format;
    private boolean isFormat;

    DataTimeFormatEnum(Integer id, String description, String format, boolean isFormat) {
        this.id = id;
        this.description = description;
        this.format = format;
        this.isFormat = isFormat;
    }
}
